home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / X11 / config / linux.cf < prev    next >
Text File  |  2006-04-12  |  28KB  |  1,034 lines

  1. XCOMM $XdotOrg: xc/config/cf/linux.cf,v 1.13 2004/08/11 21:14:01 kem Exp $
  2. XCOMM platform:  $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
  3.  
  4.  
  5.  
  6.  
  7.  
  8. XCOMM platform:  $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $
  9.  
  10. #ifndef LinuxElfDefault
  11. # define LinuxElfDefault    YES
  12. #endif
  13.  
  14. #ifndef UseElfFormat
  15. # define UseElfFormat        LinuxElfDefault
  16. #endif
  17.  
  18. #ifndef OSBinaryType
  19. # if UseElfFormat
  20. #  define OSBinaryType        [ELF]
  21. # else
  22. #  ifdef AlphaArchitecture
  23. #   define OSBinaryType        [ECOFF]
  24. #  else
  25. #   define OSBinaryType        [a.out]
  26. #  endif
  27. # endif
  28. #endif
  29.  
  30. #ifndef OSName
  31. # define OSName            DefaultOSName OSBinaryType
  32. #endif
  33.  
  34. #ifndef OSVendor
  35. # define OSVendor        /**/
  36. #endif
  37. #ifndef OSMajorVersion
  38. # define OSMajorVersion        DefaultOSMajorVersion
  39. #endif
  40. #ifndef OSMinorVersion
  41. # define OSMinorVersion        DefaultOSMinorVersion
  42. #endif
  43. #ifndef OSTeenyVersion
  44. # define OSTeenyVersion        DefaultOSTeenyVersion
  45. #endif
  46.  
  47. #ifndef LinuxDistribution
  48. # define LinuxDistribution    DefaultLinuxDistribution
  49. /*
  50.   Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
  51.   Currently only LinuxSuSE, LinuxRedHat and LinuxDebian will be figured out
  52.   automatically.
  53.   Valid values are (from the list at www.linux.org in Oct. '97):
  54.     LinuxUnknown    (0)
  55.     LinuxSuSE       (1)
  56.     LinuxCaldera    (2)
  57.     LinuxCraftworks (3)
  58.     LinuxDebian     (4)
  59.     LinuxInfoMagic  (5)
  60.     LinuxKheops     (6)
  61.     LinuxPro        (7)
  62.     LinuxRedHat     (8)
  63.     LinuxSlackware  (9)
  64.     LinuxTurbo      (10)
  65.     LinuxWare       (11)
  66.     LinuxYggdrasil  (12)
  67. */
  68. #endif
  69. #ifndef LinuxDistName
  70. # define LinuxDistName        DefaultLinuxDistName
  71. #endif
  72. #ifndef LinuxCLibMajorVersion
  73. # define LinuxCLibMajorVersion    DefaultLinuxCLibMajorVersion
  74. #endif
  75. #ifndef LinuxCLibMinorVersion
  76. # define LinuxCLibMinorVersion    DefaultLinuxCLibMinorVersion
  77. #endif
  78. #ifndef LinuxCLibTeenyVersion
  79. # define LinuxCLibTeenyVersion    DefaultLinuxCLibTeenyVersion
  80. #endif
  81.  
  82. #ifndef HasGhostScript
  83. # define HasGhostScript YES
  84. #endif
  85. #ifndef BuildPDFdocs
  86. # define BuildPDFdocs NO
  87. #endif
  88.  
  89. #ifndef LinuxBinUtilsMajorVersion
  90. # define LinuxBinUtilsMajorVersion    DefaultLinuxBinUtilsMajorVersion
  91. #endif
  92.  
  93. XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  94. XCOMM libc:    (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
  95. XCOMM binutils:    (LinuxBinUtilsMajorVersion)
  96.  
  97. #if LinuxDistribution == LinuxDebian
  98. # if !NothingOutsideProjectRoot
  99. #  define SystemManDirectory    /usr/share/man
  100. # endif
  101. # define HasPam            YES
  102. /* un-comment this when it is un-broken */
  103. /* # define JoystickSupport YES */
  104. # if !NothingOutsideProjectRoot
  105. #  define XAppLoadDir        EtcX11Directory/app-defaults
  106. # define XFileSearchPathDefault    Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
  107. /* the relative symlink created by this rule causes problems for us */
  108. # if defined(InstallAppDefFiles) && InstallAppDefFiles
  109. #  define InstallAppDefaultsLong(file,class)                @@\
  110. InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
  111. # else
  112. #  define InstallAppDefaultsLong(file,class)                @@\
  113. InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
  114. # endif /* InstallAppDefFiles */
  115. # endif /* !NothingOutsideProjectRoot */
  116. # define SharedLibXdmGreet    NO
  117. # define LinkGLToUsrInclude    NO
  118. # define LinkGLToUsrLib        NO
  119. # define SharedLibFont        NO
  120. # define SharedLibGlu        YES
  121. # define NormalLibGlu        YES
  122. # define FSUseSyslog        YES
  123.  
  124. # define DriverManSuffix       4x
  125. # define DriverManDir          $(MANSOURCEPATH)4
  126.  
  127. # define MiscManSuffix         7x
  128. # define MiscManDir            $(MANSOURCEPATH)7
  129.  
  130. /*
  131.  *
  132.  *
  133. # define DebianMaintainer    YES
  134.  *
  135.  *
  136.  */
  137.  
  138. # ifdef DebianMaintainer
  139. #  ifndef XFree86CustomVersion
  140. #   define XFree86CustomVersion        "Debian"
  141. #  endif
  142. #  ifndef BuilderEMailAddr
  143. #   define BuilderEMailAddr        "debian-x@lists.debian.org"
  144. #  endif
  145. #  define XFree86Devel            YES
  146. #  define BuildAllSpecsDocs        YES
  147. #  define InstallXinitConfig        YES
  148. #  define InstallXdmConfig        YES
  149. #  define InstallFSConfig        YES
  150. #  define DebuggableLibraries        YES
  151. #  define ForceNormalLib        YES
  152. #  define BuildSpecsDocs        YES
  153. #  define SpecsDocDirs            CTEXT GL ICCCM X11 Xext Xv i18n xterm
  154. #  define BuildRman            NO
  155. #  define BuildHtmlManPages        NO
  156.  
  157. /* we build-depend on libfreetype6-dev (FreeType 2.x) */
  158. #   define BuildFreetype2Library    NO
  159. #   define HasFreetype2            YES
  160. /* m68k has no 2.4 kernel yet */
  161. #   ifndef Mc68020Architecture
  162. #    define HasLinuxInput        YES
  163. #   endif
  164. #   define HasXdmAuth            YES
  165. #   define HasLatex            YES
  166. /* at present, glide2 only works on i386 */
  167. #   ifdef i386Architecture
  168. #    define HasGlide2            YES
  169. #    define Glide2IncDir        /usr/include/glide
  170. #   endif /* i386Architecture */
  171. /* at present, glide3 only works on alpha and i386 */
  172. #   if defined(i386Architecture) || defined(AlphaArchitecture)
  173. #    define HasGlide3            YES
  174. #    define Glide3IncDir        /usr/include/glide3
  175. #   endif /* i386Architecture || AlphaArchitecture */
  176. /* extended instruction set support */
  177. #   ifdef i386Architecture
  178. #   define HasX86Support        YES
  179. #    define HasMMXSupport        YES
  180. #    define Has3DNowSupport        YES
  181. /* 2.4 is not yet the official (or predominant) kernel in unstable */
  182. #    define HasSSESupport        NO
  183. #   endif /* i386Architecture */
  184. # endif /* DebianMaintainer */
  185. #endif /* LinuxDebian */
  186.  
  187. #if LinuxDistribution == LinuxRedHat
  188. #define FSUseSyslog        YES
  189. #endif
  190.  
  191. #ifndef HasDevRandom
  192. # define HasDevRandom YES
  193. # ifndef RandomDeviceName
  194. #  define RandomDeviceName /dev/urandom
  195. # endif
  196. #endif
  197.  
  198. /*
  199.  * The Linux BinUtils major version.  25 => 2.5.x, which is what is included
  200.  * with Slackware 3.0
  201.  *
  202.  * This remains for compatibility only.
  203.  *
  204.  */
  205. #ifndef BinUtilsMajorVersion
  206. # define BinUtilsMajorVersion    LinuxBinUtilsMajorVersion
  207. #endif
  208.  
  209. #if (LinuxCLibMajorVersion >= 6 || LinuxDistribution == LinuxSuSE)
  210. # define LinuxLocaleDefines    /**/
  211. #else
  212. # define LinuxLocaleDefines    -DX_LOCALE
  213. #endif
  214.  
  215. #ifndef  LinuxAdditionalIncludes
  216. # define LinuxAdditionalIncludes    /**/
  217. #endif
  218.  
  219. #ifndef LinuxGnuSourceDefines
  220. # ifdef UseInstalled
  221. #  define LinuxGnuSourceDefines    /**/
  222. # else
  223. #  define LinuxGnuSourceDefines    -D_GNU_SOURCE
  224. # endif
  225. #endif
  226.  
  227. #if LinuxCLibMajorVersion >= 6
  228. # define LinuxSourceDefines    -D_POSIX_C_SOURCE=199309L \
  229.                 -D_POSIX_SOURCE -D_XOPEN_SOURCE \
  230.                 -D_BSD_SOURCE -D_SVID_SOURCE \
  231.                 LinuxAdditionalIncludes LinuxGnuSourceDefines \
  232.                 LinuxLocaleDefines
  233. # define XawI18nDefines        -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
  234. # define HasPosixThreads    YES
  235. # define ThreadedX        YES
  236. # define HasThreadSafeAPI    YES
  237. # define ThreadsLibraries    -lpthread
  238. # define SystemMTDefines    -D_REENTRANT
  239. # ifndef HasLibCrypt
  240. #  define HasLibCrypt        YES
  241. # endif
  242. /* netscape wraps select but not poll as of communicator 4.72 */
  243. # ifndef HasPoll
  244. #  define HasPoll        NO
  245. # endif
  246. #else
  247. # define LinuxSourceDefines    -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 \
  248.                 -D_BSD_SOURCE -D_SVID_SOURCE \
  249.                 LinuxGnuSourceDefines LinuxLocaleDefines
  250. # define XawI18nDefines        -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
  251. # ifndef HasLibCrypt
  252. #  define HasLibCrypt        NO
  253. # endif
  254. # ifndef HasBasename
  255. #  define HasBasename        NO
  256. # endif
  257.   /* Proliferation of C99isms makes -ansi unpalatable... */
  258. # if !defined(DefaultCCOptions) && !defined(UseInstalled) && HasGcc
  259. #  define DefaultCCOptions    GccWarningOptions
  260. # endif
  261. #endif
  262.  
  263. #ifndef InstallXloadSetGID
  264. #define InstallXloadSetGID    NO
  265. #endif
  266.  
  267. /*
  268.  * XXX Check which versions of Linux really have IPv6.  glibc 2.0 on
  269.  * Red Hat 5.2 doesn't.
  270.  */
  271. #if LinuxCLibMajorVersion < 6 || \
  272.     (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion == 0)
  273. #define BuildIPv6        NO
  274. #endif
  275.  
  276. /* <linux/input.h> support mainly for USB support */
  277. #ifndef HasLinuxInput
  278. # if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)
  279. #  define HasLinuxInput YES
  280. # else
  281. #  define HasLinuxInput NO
  282. # endif
  283. #endif
  284.  
  285. /* <linux/joystick.h> appeared in 2.1.45 (officially) */
  286. #ifndef JoystickSupport
  287. # define JoystickSupport    NO    /* joystick driver is broken */
  288. #endif
  289. #ifndef HasLinuxSupport
  290. # if JoystickSupport || \
  291.      (OSMajorVersion > 2) || \
  292.      ((OSMajorVersion == 2) && (OSMinorVersion > 1)) || \
  293.      ((OSMajorVersion == 2) && (OSMinorVersion == 1) && (OSTeenyVersion >= 45))
  294. #  define HasLinuxJoystick    YES
  295. # else
  296. #  define HasLinuxJoystick    NO
  297. # endif
  298. #endif
  299.  
  300. /* Libtool on linux always uses minor numbers */
  301. #define LibtoolMinorVersions    YES
  302.  
  303. /* On x86, determine whether to build with MTRR support */
  304. #ifndef HasMTRRSupport
  305. # if defined (i386Architecture) || defined (AMD64Architecture)
  306. #  if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || \
  307.       (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 99)
  308. #   define HasMTRRSupport    YES
  309. #  else
  310. #   define HasMTRRSupport    NO
  311. #  endif
  312. # else
  313. #  define HasMTRRSupport    NO    /* no for non-ix86 */
  314. # endif
  315. #endif
  316.  
  317. #ifndef XF86INT10_BUILD
  318. # if defined (i386Architecture)
  319. #  define XF86INT10_BUILD    X86VM
  320. # elif defined (AMD64Architecture)
  321. #  define XF86INT10_BUILD    X86EMU_OS
  322. # else
  323. #  define XF86INT10_BUILD    X86EMU_GENERIC
  324. # endif
  325. #endif
  326.  
  327. /* The DRM module requires kernel services that appeared in late 2.1.x
  328.    kernels and are known to be present in 2.2.x kernels. */
  329. #ifndef BuildXF86DRI
  330. #  if defined(AlphaArchitecture)
  331. #    define BuildXF86DRI    YES
  332. #  elif defined(Arm32Architecture)
  333. #    define BuildXF86DRI    NO
  334. #  elif defined(HPArchitecture)
  335. #    define BuildXF86DRI    NO
  336. #  elif defined(i386Architecture)
  337. #    if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2)
  338. #      define BuildXF86DRI    YES
  339. #    else
  340. #      define BuildXF86DRI    NO
  341. #    endif
  342. #  elif defined(ia64Architecture)
  343. #    define BuildXF86DRI    YES
  344. #  elif defined(Mc68020Architecture)
  345. #    define BuildXF86DRI    NO
  346. #  elif defined(MipsArchitecture)
  347. #    define BuildXF86DRI    NO
  348. #  elif defined(PpcArchitecture)
  349. #    define BuildXF86DRI    YES
  350. #  elif defined(Ppc64Architecture)
  351. #    define BuildXF86DRI    NO
  352. #  elif defined(s390Architecture) || defined(s390xArchitecture)
  353. #    define BuildXF86DRI    NO
  354. #  elif defined(SparcArchitecture)
  355. #    define BuildXF86DRI    YES
  356. #  elif defined(SuperHArchitecture)
  357. #    define BuildXF86DRI    NO
  358. #  elif defined(AMD64Architecture)
  359. #    define BuildXF86DRI    YES
  360. #  else
  361. #    define BuildXF86DRI    NO
  362. #  endif
  363. #endif
  364.  
  365. /*
  366.  * Build shared libGL and the DRI modules without -fPIC on some architectures.
  367.  * This improves performance.
  368.  */
  369. #if BuildXF86DRI
  370. # if defined(i386Architecture)
  371. #  define BuildLibGlxWithoutPIC    YES
  372. # endif
  373. #endif
  374.  
  375. #ifndef HasAgpGart
  376. #  if defined(i386Architecture) || defined(ia64Architecture) || defined(AMD64Architecture)
  377.      /* The AGPGART header file is included in os-support/linux, which
  378.         allows all drivers that depend on AGP to build properly. */
  379. #    define HasAgpGart    YES
  380. #  else
  381. #    define HasAgpGart    NO
  382. #  endif
  383. #endif
  384.  
  385. /*
  386.  * Support for Intel's SSE Native Instructions, also known as the
  387.  * Streaming SIMD Extensions, was introduced in the 2.4.x kernels.
  388.  */
  389. #ifndef HasSSESupport
  390. #  if defined(i386Architecture)
  391. #    if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)
  392. #      define HasSSESupport        YES
  393. #    else
  394. #      define HasSSESupport        NO
  395. #    endif
  396. #  else
  397. #    define HasSSESupport        NO
  398. #  endif
  399. #endif
  400.  
  401. /*
  402.  * Support for MMX isn't present in the Assembler used in Red Hat 4.2, so
  403.  * don't enable it for libc5 as a reasonable default.
  404.  */
  405. #ifndef HasMMXSupport
  406. #  if defined(i386Architecture)
  407. #    if (LinuxCLibMajorVersion > 5)
  408. #      define HasMMXSupport        YES
  409. #    else
  410. #      define HasMMXSupport        NO
  411. #    endif
  412. #  else
  413. #    define HasMMXSupport        NO
  414. #  endif
  415. #endif
  416.  
  417. /*
  418.  * Support for 3DNow isn't present in the Assembler used in Red Hat 4.2, so
  419.  * don't enable it for libc5 as a reasonable default.
  420.  *
  421.  * XXX This is preliminary.
  422.  */
  423. #ifndef Has3DNowSupport
  424. #  if defined(i386Architecture)
  425. #    if (LinuxCLibMajorVersion > 5)
  426. #      define Has3DNowSupport        YES
  427. #    else
  428. #      define Has3DNowSupport        NO
  429. #    endif
  430. #  else
  431. #    define Has3DNowSupport        NO
  432. #  endif
  433. #endif
  434.  
  435. /*
  436.  * The Rush extension support.
  437.  */
  438. #ifndef BuildXF86RushExt
  439. # define BuildXF86RushExt    YES
  440. #endif
  441.  
  442. #ifndef LinuxFBDevSupport
  443. # define LinuxFBDevSupport    YES
  444. #endif
  445.  
  446. /* For compatibility */
  447. #define SourceDefines        LinuxSourceDefines
  448.  
  449. #define BuildLibPathVar        LD_LIBRARY_PATH
  450. #define GccUsesGas        YES
  451. #define UseGas            YES
  452. #define GnuCpp            YES
  453. #if UseElfFormat
  454. # ifndef HasDlopen
  455. #  define HasDlopen        YES
  456. # endif
  457. #endif
  458. #define HasWeakSymbols        UseElfFormat
  459. #ifndef HasShadowPasswd
  460. # if UseElfFormat
  461. #  define HasShadowPasswd    YES
  462. # else
  463. #  define HasShadowPasswd    NO
  464. # endif
  465. #endif
  466. #define HasPutenv        YES
  467. #ifndef HasShm
  468. # define HasShm            YES
  469. #endif
  470. #define HasSockets        YES
  471. #if UseElfFormat || defined(AlphaArchitecture)
  472. #ifndef HasSnprintf
  473. #define HasSnprintf        YES
  474. #endif
  475. #define HasMkstemp        YES
  476. #endif
  477. /* getresuid() appeared in 2.1.4, and getresgid in 2.1.44 */
  478. #if !defined(HasGetresuid) && \
  479.  (((OSMajorVersion*100000) + (OSMinorVersion*1000) + OSTeenyVersion) >= 201044)
  480. #define HasGetresuid        YES
  481. #endif
  482. #if OSMajorVersion >= 2
  483. #define HasUsableFileMmap    YES
  484. #endif
  485. #ifndef HasNCurses
  486. #define HasNCurses        YES
  487. #endif
  488.  
  489. #ifndef HasGroff
  490. #define HasGroff        YES
  491. #endif
  492.  
  493. #ifndef HasZlib
  494. #define HasZlib            YES
  495. #endif
  496.  
  497. #ifndef HasLibpng
  498. #define HasLibpng        YES
  499. #endif
  500.  
  501. #ifndef HasExpat
  502. # define HasExpat        YES
  503. #endif
  504.  
  505. #ifndef HasFreetype2
  506. # define HasFreetype2        YES
  507. #endif
  508.  
  509. #define AvoidNullMakeCommand    YES
  510. #ifndef DebuggableLibraries
  511. #define DebuggableLibraries    NO
  512. #endif
  513. #define CompressAllFonts    YES
  514. #define Malloc0ReturnsNull    YES
  515. #define NeedConstPrototypes    YES
  516. #define NeedFunctionPrototypes    YES
  517. #define NeedNestedPrototypes    YES
  518. #define NeedVarargsPrototypes    YES
  519. #ifndef NeedWidePrototypes
  520. #define NeedWidePrototypes    NO
  521. #endif
  522. #define SetTtyGroup        YES
  523.  
  524. #ifndef UseStaticTermcapLib
  525. #define UseStaticTermcapLib    NO
  526. #endif
  527.  
  528. #ifndef HasCookieMaker
  529. #define HasCookieMaker        YES
  530. #define MkCookieCmd        mcookie
  531. #endif
  532.  
  533. #ifndef BourneShell
  534. /*
  535.  * This will cause builds/installs to terminate on errors, as on other
  536.  * platforms.
  537.  */
  538. #define BourneShell        /bin/sh -e
  539. #endif
  540.  
  541. #define MkdirHierCmd        mkdir -p
  542.  
  543. #ifndef HaveLib64
  544. # if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture)
  545. #  define HaveLib64    YES
  546. # else
  547. #  define HaveLib64    NO
  548. # endif
  549. #endif
  550.  
  551. #if UseElfFormat
  552. # ifndef DoLoadableServer
  553. #  if defined(HPArchitecture) || defined(MipsArchitecture) || defined(SuperHArchitecture)
  554. #   define DoLoadableServer    NO
  555. #  else
  556. #   define DoLoadableServer    YES
  557. #  endif
  558. # endif
  559. #endif
  560.  
  561.  
  562. #if LinuxElfDefault
  563. # if UseElfFormat
  564. #  ifdef MipsArchitecture
  565. #   ifndef AsCmd
  566. #     define AsCmd        gcc -c -x assembler-with-cpp
  567. #   endif
  568. #   ifndef MakeDllModules
  569. #     define MakeDllModules    YES
  570. #   endif
  571. #  endif /* MipsArchitecure */
  572. #  if defined (i386Architecture) && ((GccMajorVersion >3) \
  573.    || ((GccMajorVersion == 3) &&  (GccMinorVersion >= 1)))
  574. #   ifndef CcCmd
  575. #    define CcCmd        gcc -m32
  576. #   endif
  577. #   ifndef CplusplusCmd
  578. #    define CplusplusCmd        c++ -m32
  579. #   endif
  580. #  endif
  581. #  ifndef CcCmd
  582. #   define CcCmd        gcc
  583. #   define CplusplusCmd        c++
  584. #  endif
  585. #  ifndef AsCmd
  586. #   define AsCmd        CcCmd -c -x assembler
  587. #  endif
  588. #  define AsmDefines        -D__ELF__
  589. #  ifndef LdCmd
  590. #   define LdCmd        CcCmd -nostdlib
  591. #  endif
  592. #  ifndef LinuxUsesNcurses
  593. #   if LinuxCLibMajorVersion >= 6 || (LinuxDistribution == LinuxSuSE)
  594. #    define LinuxUsesNcurses    YES
  595. #   else
  596. #    define LinuxUsesNcurses    NO
  597. #   endif
  598. #  endif
  599. #  ifndef TermcapLibrary
  600. #   if UseStaticTermcapLib
  601. #    if LinuxUsesNcurses
  602. #     if !HaveLib64
  603. #      define TermcapLibrary    StaticLibrary(/usr/lib,ncurses)
  604. #     else
  605. #      define TermcapLibrary    StaticLibrary(/usr/lib64,ncurses)
  606. #     endif
  607. #    else
  608. #     if !HaveLib64
  609. #      define TermcapLibrary    StaticLibrary(/usr/lib/termcap,termcap)
  610. #     else
  611. #      define TermcapLibrary    StaticLibrary(/usr/lib64/termcap,termcap)
  612. #     endif
  613. #    endif
  614. #   else
  615. #    if LinuxUsesNcurses
  616. #     define TermcapLibrary    -lncurses
  617. #    else
  618. #     define TermcapLibrary    -ltermcap
  619. #    endif
  620. #   endif
  621. #  endif
  622. # else
  623. #  ifdef AlphaArchitecture
  624. #   define CcCmd        gcc -b alpha-linuxecoff
  625. #   define CplusplusCmd        g++ -b alpha-linuxecoff
  626. #   define AsCmd        CcCmd -c -x assembler
  627. #   define LdCmd        CcCmd -nostdlib -Wl,"-m alpha"
  628. #   define AsmDefines        -DUSE_GAS -U__ELF__
  629. #  endif /* AlphaArchitecture */
  630. #  ifdef HPArchitecture
  631. #   define CcCmd        gcc
  632. #   define CplusplusCmd        g++
  633. #   define AsCmd        CcCmd -c -x assembler
  634. #   define LdCmd        CcCmd -nostdlib
  635. #   define AsmDefines        -DUSE_GAS -U__ELF__
  636. #  endif /* HPArchitecture */
  637. #  ifdef i386Architecture
  638. #   define CcCmd        gcc -b i486-linuxaout
  639. #   define CplusplusCmd        g++ -b i486-linuxaout
  640. #   define AsCmd        CcCmd -c -x assembler
  641. #   define LdCmd        CcCmd -nostdlib -Wl,"-m i386linux"
  642. #   define AsmDefines        -DUSE_GAS -U__ELF__
  643. #  endif /* i386Architecture */
  644. #  ifdef ia64Architecture
  645. #   define CcCmd        gcc
  646. #   define CplusplusCmd        g++
  647. #   define AsCmd        CcCmd -c -x assembler
  648. #   define LdCmd        CcCmd -nostdlib
  649. #   define AsmDefines        -DUSE_GAS -U__ELF__
  650. #  endif /* ia64Architecture */
  651. #  ifdef Mc68020Architecture
  652. #   define CcCmd        gcc -b m68k-linuxaout
  653. #   define CplusplusCmd        g++ -b m68k-linuxaout
  654. #   define AsCmd        CcCmd -c -x assembler
  655. #   define LdCmd        CcCmd -nostdlib -Wl,"-m m68klinux"
  656. #   define AsmDefines        -DUSE_GAS -U__ELF__
  657. #  endif /* Mc68020Architecture */
  658. #  ifdef AMD64Architecture
  659. #   define CcCmd        gcc
  660. #   define CplusplusCmd        g++
  661. #   define AsCmd        CcCmd -c -x assembler
  662. #   define LdCmd        CcCmd -nostdlib
  663. #   define AsmDefines        -DUSE_GAS -U__ELF__
  664. #  endif /* AMD64Architecture */
  665. # endif /* UseElfFormat */
  666. #else
  667. # if UseElfFormat
  668. #  ifdef AlphaArchitecture
  669. #   define CcCmd        gcc -b alpha-linux
  670. #   define AsCmd        CcCmd -c -x assembler
  671. #   define LdCmd        CcCmd -nostdlib -Wl,"-m elf64alpha"
  672. #   define AsmDefines        -D__ELF__
  673. #   define CplusplusCmd        c++ -b alpha-linux
  674. #  endif /* AlphaArchitecture */
  675. #  ifdef HPArchitecture
  676. #   define CcCmd        gcc
  677. #   define CplusplusCmd        g++
  678. #   define AsCmd        CcCmd -c -x assembler
  679. #   define LdCmd        CcCmd -nostdlib
  680. #   define AsmDefines        -D__ELF__
  681. #   define SharedLibXau        YES
  682. #  endif /* HPArchitecture */
  683. #  ifdef i386Architecture
  684. #   define CcCmd        gcc -b i486-linux
  685. #   define AsCmd        CcCmd -c -x assembler
  686. #   define LdCmd        CcCmd -nosdlib -Wl,"-m elf_i386"
  687. #   define AsmDefines        -D__ELF__
  688. #   define CplusplusCmd        c++ -b i486-linux
  689. #  endif /* i386Architecture */
  690. #  ifdef ia64Architecture
  691. #   define CcCmd        gcc
  692. #   define CplusplusCmd        g++
  693. #   define AsCmd        CcCmd -c -x assembler
  694. #   define LdCmd        CcCmd -nostdlib
  695. #   define AsmDefines        -D__ELF__
  696. #  endif /* ia64Architecture */
  697. #  ifdef Mc68020Architecture
  698. #   define CcCmd        gcc -b m68k-linux
  699. #   define AsCmd        CcCmd -c -x assembler
  700. #   define LdCmd        CcCmd -nostdlib -W,l"-m m68kelf"
  701. #   define AsmDefines        -D__ELF__
  702. #   define CplusplusCmd        c++ -b m68k-linux
  703. #  endif /* Mc68020Architecture */
  704. #  ifdef AMD64Architecture
  705. #   define CcCmd                 gcc
  706. #   define CplusplusCmd          g++
  707. #   define AsCmd                 CcCmd -c -x assembler
  708. #   define LdCmd                 CcCmd -nostdlib
  709. #   define AsmDefines            -D__ELF__
  710. #  endif /* AMD64Architecture */
  711. # else
  712. #  define CcCmd            gcc
  713. #  define AsCmd            CcCmd -c -x assembler
  714. #  define LdCmd            CcCmd -nostdlib
  715. #  define AsmDefines        -DUSE_GAS
  716. # endif
  717. #endif
  718.  
  719. #if UseElfFormat
  720. # ifndef DoLoadableServer
  721. #  ifdef HPArchitecture
  722. #   define DoLoadableServer    NO
  723. #  else
  724. #   define DoLoadableServer    YES
  725. #  endif
  726. # endif
  727. #endif
  728.  
  729. /*
  730.  * Some older distros still need /lib/cpp.  There's probably a better
  731.  * test, but this handles the older Red Hat releases at least.
  732.  */
  733. #ifndef CppCmd
  734. # if (LinuxDistribution == LinuxRedHat) && \
  735.      ((LinuxCLibMajorVersion < 6) || \
  736.       (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 1))
  737. #  define CppCmd        /lib/cpp
  738. # else
  739. #  define CppCmd        cpp
  740. # endif
  741. #endif
  742.  
  743. /* Some Linux distributions have yacc, some don't. All have bison. */
  744. #define YaccCmd            bison -y
  745. #define LexCmd            flex -l
  746. #define HasFlex            YES
  747. #define LexLib            -lfl
  748. #define PreProcessCmd        CcCmd -E
  749. #define PostIncDir        DefaultGccIncludeDir
  750. #define LdCombineFlags        -r
  751. #ifndef LdPostLib
  752. # define LdPostLib        /* Never needed */
  753. #endif
  754. #define HasWChar32        YES
  755. #define StandardCppOptions    -traditional
  756. #define StandardCppDefines    StandardDefines
  757.  
  758. #define HasVarRun        YES
  759. #ifndef VarDbDirectory
  760. # define VarDbDirectory        $(VARDIR)/lib
  761. #endif
  762.  
  763. #ifndef XF86OSCardDrivers
  764. # define XF86OSCardDrivers    fbdev v4l
  765. #endif
  766.  
  767. #ifndef OSXInputDrivers
  768. # if HasLinuxJoystick
  769. #  define OSXInputDrivers1    ur98
  770. # else
  771. #  define OSXInputDrivers1    /**/
  772. # endif
  773. # if HasLinuxInput
  774. #  define OSXInputDrivers2    aiptek
  775. # else
  776. #  define OSXInputDrivers2    /**/
  777. # endif
  778. # define OSXInputDrivers    OSXInputDrivers1 OSXInputDrivers2
  779. #endif
  780.  
  781. #if UseElfFormat
  782. # define HasPlugin            YES
  783. # define VendorHasX11R6_3libXext    YES    /* XC or XFree86 >= 3.3.1 */
  784. #endif
  785.  
  786. #ifdef AlphaArchitecture
  787. # ifndef OptimizedCDebugFlags
  788. #  define OptimizedCDebugFlags    DefaultGcc2AxpOpt
  789. # endif
  790. # define LinuxMachineDefines    -D__alpha__
  791. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  792. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT
  793. # ifdef UseCompaqMathLibrary
  794. #  define MathLibrary        -lcpml -lm
  795. # endif
  796. #endif /* AlphaArchitecture */
  797.  
  798. #ifdef Arm32Architecture
  799. # define DefaultCCOptions    -fsigned-char
  800. # ifndef OptimizedCDebugFlags
  801. #  define OptimizedCDebugFlags    -O3
  802. # endif
  803. # define LinuxMachineDefines    -D__arm__ -D__arm32__ -U__arm -Uarm
  804. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  805. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  806. #endif /* Arm32Achitecture */
  807.  
  808. #ifdef HPArchitecture
  809. # define OptimizedCDebugFlags    -O2  GccAliasingArgs
  810. # define LinuxMachineDefines    -D__hppa__
  811. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  812. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  813. #endif
  814.  
  815. #ifdef i386Architecture
  816. # ifndef OptimizedCDebugFlags
  817. #  define OptimizedCDebugFlags    DefaultGcc2i386Opt
  818. # endif
  819. # define LinuxMachineDefines    -D__i386__
  820. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  821. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  822. #endif /* i386Architecture */
  823.  
  824. #ifdef ia64Architecture
  825. # ifndef OptimizedCDebugFlags
  826. #  define OptimizedCDebugFlags    -O2  GccAliasingArgs
  827. # endif
  828. # define LinuxMachineDefines    -D__ia64__
  829. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  830. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
  831. #endif /* ia64Architecture */
  832.  
  833. #ifdef Mc68020Architecture
  834. # ifndef OptimizedCDebugFlags
  835. #  define OptimizedCDebugFlags    -O2  GccAliasingArgs
  836. # endif
  837. # define LinuxMachineDefines    -D__mc68000__
  838. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  839. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  840. #endif /* Mc68020Architecture */
  841.  
  842. #ifdef MipsArchitecture
  843. # ifndef OptimizedCDebugFlags
  844. #  define OptimizedCDebugFlags    -O2  GccAliasingArgs
  845. # endif
  846. # define LinuxMachineDefines    -D__mips__
  847. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  848. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  849. #endif
  850.  
  851. #ifdef Ppc64Architecture
  852. # define DefaultCCOptions    -fsigned-char -mminimal-toc
  853. # ifndef OptimizedCDebugFlags
  854. #  define OptimizedCDebugFlags    DefaultGcc2Ppc64Opt
  855. # endif
  856. # define LinuxMachineDefines    -D__powerpc64__ -D__powerpc__
  857. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME -DPART_NET
  858. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
  859. #endif /* Ppc64Architecture */
  860.  
  861. #ifdef PpcArchitecture
  862. # define DefaultCCOptions    -fsigned-char
  863. # ifndef OptimizedCDebugFlags
  864. #  define OptimizedCDebugFlags    DefaultGcc2PpcOpt
  865. # endif
  866. # define LinuxMachineDefines    -D__powerpc__
  867. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  868. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  869. #endif /* PpcArchitecture */
  870.  
  871. #ifdef s390Architecture
  872. # ifndef OptimizedCDebugFlags
  873. #  define OptimizedCDebugFlags    -O2 -fomit-frame-pointer GccAliasingArgs
  874. # endif
  875. # define LinuxMachineDefines    -D__s390__
  876. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  877. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  878. #endif /* s390Architecture */
  879.  
  880. #ifdef s390xArchitecture
  881. /*#define DefaultCCOptions    -fsigned-char */
  882. #define OptimizedCDebugFlags    -O3 -fomit-frame-pointer
  883. #define LinuxMachineDefines    -D__s390x__
  884. #define ServerOSDefines        XFree86ServerOSDefines -DDDXTIME
  885. #define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
  886. #endif /* s390xArchitecture */
  887.  
  888. #ifdef SparcArchitecture
  889. # ifndef OptimizedCDebugFlags
  890. #  define OptimizedCDebugFlags    -O2  GccAliasingArgs
  891. # endif
  892. # define LinuxMachineDefines    -D__sparc__
  893. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  894. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  895. # define AsVISOption        -Av9a
  896. # ifdef Sparc64Architecture
  897. #  define AsOutputArchSize    64
  898. # else
  899. #  define AsOutputArchSize    32
  900. # endif
  901. #endif
  902.  
  903. #ifdef SuperHArchitecture
  904. # ifndef SuperHArchOptFlags
  905. #  ifdef SuperH4Architecture
  906. #   define SuperHArchOptFlags    -m4
  907. #  elif defined(SuperH4NOFPUArchitecture)
  908. #   define SuperHArchOptFlags    -m4-nofpu
  909. #  else
  910. #   define SuperHArchOptFlags    -m3
  911. #  endif
  912. # endif 
  913. # ifndef SuperHebArchitecture
  914. #  ifdef SuperHebArchitecture
  915. #   define SuperHEndianFlags    -mb
  916. #  else
  917. #   define SuperHEndianFlags    -ml
  918. #  endif
  919. # endif
  920. # ifndef OptimizedCDebugFlags
  921. #  define OptimizedCDebugFlags    -O2 SuperHArchOptFlags SuperHEndianFlags  GccAliasingArgs
  922. # endif
  923. # define LinuxMachineDefines    -D__sh__
  924. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  925. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines
  926. # ifndef DoLoadableServer
  927. #  define DoLoadableServer NO
  928. # endif
  929. #endif
  930.  
  931. #ifdef AMD64Architecture
  932. # ifndef OptimizedCDebugFlags
  933. #  define OptimizedCDebugFlags    DefaultGcc2AMD64Opt
  934. # endif
  935. # define LinuxMachineDefines   -D__amd64__
  936. # define ServerOSDefines    XFree86ServerOSDefines -DDDXTIME
  937. # define ServerExtraDefines    -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
  938. #endif /* AMD64Architecture */
  939.  
  940. #ifndef StandardDefines
  941. # define StandardDefines    -Dlinux LinuxMachineDefines LinuxSourceDefines
  942. #endif
  943.  
  944. #if UseElfFormat
  945. # define DlLibrary        -rdynamic -ldl
  946. #else
  947. # define DlLibrary        /**/
  948. #endif
  949.  
  950. #define ServerExtraSysLibs    /**/
  951.  
  952. #ifndef PamLibraries
  953. #define PamLibraries        -lpam DlLibrary
  954. #endif
  955.  
  956. #ifndef PamMiscLibraries
  957. #define PamMiscLibraries    -lpam_misc
  958. #endif
  959.  
  960. #ifndef HasDECnet
  961. #define HasDECnet        NO
  962. #endif
  963. #if HasDECnet
  964. # define ConnectionFlags    -DUNIXCONN -DTCPCONN -DDNETCONN
  965. # define ExtraLibraries        -ldnet
  966. #else
  967. # define ConnectionFlags    -DUNIXCONN -DTCPCONN
  968. #endif
  969.  
  970. /* Some of these man page defaults are overriden in the above OS sections */
  971. #ifndef ManSuffix
  972. # define ManSuffix    1x
  973. #endif
  974. #ifndef ManDir
  975. # define ManDir        $(MANSOURCEPATH)1
  976. #endif
  977. #ifndef LibManSuffix
  978. # define LibManSuffix    3x
  979. #endif
  980. #ifndef LibmanDir
  981. # define LibmanDir    $(MANSOURCEPATH)3
  982. #endif
  983. #ifndef FileManSuffix
  984. # define FileManSuffix    5x
  985. #endif
  986. #ifndef FileManDir
  987. # define FileManDir    $(MANSOURCEPATH)5
  988. #endif
  989.  
  990. #ifndef StaticLibrary
  991. # define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
  992. #endif
  993.  
  994. #ifndef LinkGLToUsrLib
  995. # define LinkGLToUsrLib        YES
  996. #endif
  997. # ifndef LinkGLToUsrInclude
  998. # define LinkGLToUsrInclude    YES
  999. #endif
  1000.  
  1001.  
  1002. #define HasGnuMake        YES
  1003.  
  1004. #define MakeNamedTargetSubdir(dir,flags,subname)\
  1005.     $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
  1006.  
  1007. #define ArchitectureDefines    -DLINUX_ARCHITECTURE
  1008.  
  1009. #define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
  1010. #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
  1011.  
  1012. #if HaveLib64
  1013. # ifndef LibDirName
  1014. #  define LibDirName        lib64
  1015. # endif
  1016. # ifndef SystemUsrLibDir
  1017. #  define SystemUsrLibDir    /usr/lib64
  1018. # endif
  1019. # ifndef TkLibDir
  1020. #  define TkLibDir        /usr/lib64
  1021. # endif
  1022. #endif
  1023.  
  1024. #ifndef BuildDmx
  1025. #define BuildDmx    YES
  1026. #endif
  1027.  
  1028. #include <lnxLib.rules>
  1029. # include <xorg.cf>
  1030.  
  1031. #ifndef XFree86ServerOSDefines
  1032. # define XFree86ServerOSDefines
  1033. #endif
  1034.